package class_0915skiplist;

public class LinkedList {
    public static class Node{
        int data;
        Node prev;
        Node next;
        public Node(int data){
            this.data = data;
            prev = next = this;//自身前驱指针和后继指针围绕成环。
        }
    }
    private Node head;//头指针
    public LinkedList(){
        head = new Node(0); //虚拟节点---里面存放的数据是双向链表的长度。
    }
    //...... 忽略其它实现
    /** 求pos节点的前驱节点 */
    public Node getPrevNode(Node pos){
        //假定给定的pos为非头节点，且一定是该链表的节点
        return pos.prev == pos?null:pos.prev; //如果前驱节点是非头节点，则返回该节点。
    }
    /** 求pos节点的后继节点*/
    public Node getNextNode(Node pos){
        return pos.next == pos?null:pos.next;
    }
}
